package com.jichangxiu.server.platform.service;

import com.jichangxiu.common.entity.bo.PageData;
import com.jichangxiu.framework.mybatis.BaseService;
import com.jichangxiu.server.platform.entity.dto.PlatformDictDataQueryDto;
import com.jichangxiu.server.platform.entity.po.PlatformDictData;
import com.jichangxiu.server.platform.entity.vo.PlatformDictDataAddVo;
import com.jichangxiu.server.platform.entity.vo.PlatformDictDataEditVo;
import com.jichangxiu.server.platform.entity.vo.PlatformDictDataQueryVo;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * PlatformDictDataService:
 *
 * @author Jcx
 * @create 2023-03-08 21:17
 */
public interface PlatformDictDataService extends BaseService<PlatformDictData> {

    /**
     * 新增字典值
     *
     * @param platformDictDataAddVo 字典值视图对象
     * @return 是否成功
     */
    public Boolean add(PlatformDictDataAddVo platformDictDataAddVo);

    /**
     * 多选级联删除字典值
     *
     * @param dataIdList 字典值ID列表
     * @return 是否成功
     */
    public Boolean del(List<String> dataIdList);

    /**
     * 修改字典值信息
     *
     * @param platformDictDataEditVo 字典值视图对象
     * @return 是否成功
     */
    public Boolean edit(PlatformDictDataEditVo platformDictDataEditVo);

    /**
     * 根据ID获取字典值详情
     *
     * @param dataId 字典值ID
     * @return 字典值详情
     */
    public PlatformDictDataQueryDto info(@NotBlank(message = "字典情ID不能为空") String dataId);

    /**
     * 分页查询字典值列表
     *
     * @param platformDictDataQueryVo 字典值视图对象
     * @return 分页字典值列表
     */
    public PageData<PlatformDictDataQueryDto> pageList(PlatformDictDataQueryVo platformDictDataQueryVo);

}
